#include<t_stdio.h>
#include<t_file.h>
#include<string.h>
//重定向文件通过argvp[1]参数传递给进程
int main(int argc , char *argv[]){
	char * msg= "this is a test\n";
	//0 1 2
	//文件以写的方式打开，文件不存在则创建，权限0644
	//文件存在则将文件内容清空
	int flags = O_WRONLY | O_CREAT | O_TRUNC;
	int fd = open(argv[1],flags,0644);
	if(fd==-1) E_MSG("open",-1);
	int s_fd=dup(1);//s_fd==4; 将标准输出保存到4； 
	dup2(fd , 1);//将打开文件的描述符，复制到标准输出
 	

 	//关闭文件描述符
	close(fd);	
	//通过标准输出将信息输出到件
	write(1,msg,strlen(msg));
	//恢复标准输出，重新指向显示器
	dup2(s_fd , 1);
	close(s_fd);
	//写到了显示器
	write(1,msg,strlen(msg));	
 	return 0;
}
